var data={};
function json_encode(obj)
{
	var str=[];
	for(k in obj)
	{
		if(typeof(obj[k])=='object')
		{
			str.push('"'+k+'":'+json_encode(obj[k]));
		}
		else
		{
			str.push('"'+k+'":"'+obj[k]+'"');
		}
	}
	return '{'+str.join(',')+'}';
}

var DivBox=
{
	categorys:set.catid,
	obj:new Object(),
	init:function(width,height)
	{
		var li=[];
		li.push('<dl><dt class="title">个性化您自己人的资迅首页（您最少要显示四个项目）</dt>')
		for(k in DivBox.categorys)
		{
			li.push('<dd class="content"><div class="left">'+DivBox.categorys[k].name+'</div><div class="right"><input onchange="DivBox.checkNum(this)" type="Checkbox" value="'+k+'" id="'+k+'" /></div></dd>');
		}
		li.push('<dd class="bottom"><input type="button" onclick="DivBox.close()" value="取消">&nbsp;<input type="button" value="确定" onclick="DivBox.updateSet()"></dd>');
		var div=document.createElement('DIV');
		var position=$('body').offset();
		div.style.cssText='width:'+width+'px;height:'+height+'px;left:'+(document.documentElement.clientWidth/2-width/2)+'px;top:'+document.documentElement.clientHeight/2+'px';
		div.className='set-all';
		div.setAttribute('id','setSet');
		div.innerHTML=li.join('')+'</dl>';
		DivBox.obj=div;
		document.body.appendChild(div);
		DivBox._init()
	},
	_init:function()
	{
		for(k in DivBox.categorys)
		{
			if(DivBox.categorys[k].show>0)
			{
				document.getElementById(k).checked=true;;
			}
		}
	},
	close:function()
	{
		if(DivBox.obj)DivBox.obj.parentNode.removeChild(DivBox.obj);
	},
	checkNum:function(obj)
	{
		var i=0;
		if(obj.checked==true){DivBox.categorys[obj.value].show=1;}
		else{DivBox.categorys[obj.value].show=-1;}
		for(k in DivBox.categorys)
		{
			if(DivBox.categorys[k].show>0)
			{
				i++;
			}
		}
		if(i<4)
		{
			obj.checked=true;
			alert("显示数量不能少于四个!");
			return false;
		}
	},
	updateSet:function()
	{
		$.ajax({type:'GET',
		url:'ajax.php?action=update&set='+json_encode(set)+'&'+Math.floor(Math.random()*100),
		success:function($id)
		{
			if($id==1)
			{DivBox.obj.innerHTML='更新完成!';DivBox.close();DivBox.refresh();}
			else{alert('更新失败，请稍候再试!');}
		}});
	},
	refresh:function()
	{
		show();
	}
}
var position=[];
function getPosition()
{
	var width=470;
	var height=310;
	var paddingw=20;
	var paddingh=5;
	var m=0;
	for(k in set.catid)
	{
		if(set.catid[k].show>0)
		{
			position[m]={};
			position[m].top=(height*Math.floor(m/2)+paddingh*(Math.floor(m/2)+1));
			position[m].left=(m%2==0)?paddingw:(width+paddingw*2);
			position.k=k;
			m++;
		}
	}
}

function show()
{
$.ajax({type:'GET',url:'ajax.php?catid='+json_encode(set.catid)+'&'+Math.floor(Math.random()*100),success:function($categorys)
{
	data=eval('('+$categorys.toString()+')');
	makeDiv();
}});
}

function makeDiv()
{
	getPosition();
	var obj=$('#sj');obj.css('position','relative');
	var div=[];
	$categorys=data;
	var width=470;
	var height=310;
	var paddingw=20;
	var paddingh=5;
	var m=0
	for(k in $categorys)
	{
		var $category=$categorys[k];
		if(parseInt(set.catid[k].show)>0)
		{
			var css=(k=='sjzl')?' spec "':'';
			var more=$category.curl?('<a href="'+$category.curl+'&title='+set.catid[k].name+'">更多...</a>'):'&nbsp;';
			var style='float:left;height:'+height+'px;width:'+width+'px;';
			div[set.catid[k].list]='<DIV name="mDiv" id="mDiv" class="sj_l'+css+'" key='+k+' style="'+style+'" list="%list%" onmousemove="moveDiv.move(event)" onMouseup="moveDiv._init()"><div class="neir_1" ><h1 onmousedown="moveDiv.init(this.parentNode.parentNode)" > '+set.catid[k].name+' <span class="more">'+more+set.catid[k].list+'</span></h1></div><div class="hd"><ul>';
			var lis=[];
			for(i in $category.articles)
			{
				var article=$category.articles[i];
				lis.push('<li><a href="'+article.url+'">'+article.title+'</a><span>'+(article.time?article.time:'')+'</span></li>');
			}
			lis=lis.join('');
			div[set.catid[k].list]+=lis+' </ul></div></div>';
		}
		m++;
	}
	var m=0;
	for(var i=0;i<div.length;i++)
	{
		if(typeof(div[i])!='undefined')
		{
			div[i]=div[i].replace('%list%',m++);
		}
	}
	obj.html(div.join(""));
}

var moveDiv=
{
	divs:document.getElementsByName("mDiv"),
	lock:-1,
	start:0,
	width:470,
	height:310,
	paddingw:20,
	paddingh:10,
	obj:new Object(),
	_obj:new Object(),
	shadow:function(w,h,x,y)
	{
		
	},
	init:function(obj)
	{
		if(moveDiv.lock==-1)
		{
			moveDiv.obj=obj.cloneNode(true);
			obj.parentNode.appendChild(moveDiv.obj);
			var num=obj.getAttribute('list');
			moveDiv.obj.style.left=position[num].left;
			moveDiv.obj.style.top=position[num].top;
			moveDiv.obj.style.position='absolute';
			moveDiv.obj.style.filter="alpha(opacity=40)"; 
			moveDiv.obj.style.zIndex=100;
			moveDiv.obj.style.float='none';
			moveDiv.obj.style.clear='both';
			
			
			
			moveDiv.lock=1;
			moveDiv.obj.setCapture();
			if(window.event){e=window.event;}else{moveDiv.move.arguments[0];}
			moveDiv.left=parseInt(obj.style.left);
			moveDiv.top=parseInt(obj.style.top);
			moveDiv.x=e.pageX?e.pageX:(e.clientX);
			moveDiv.y=e.pageY?e.pageY:(e.clientY);
			
			moveDiv.move();
		}
		else
		{
			moveDiv._init();
		}
	},
	_init:function()
	{
		if(moveDiv.lock==1)
		{
			moveDiv.lock=-1;
			//moveDiv.obj.style.filter="";  
			moveDiv.obj.releaseCapture() ;
			var _left=parseInt(moveDiv.obj.style.left);
			var _top=parseInt(moveDiv.obj.style.top);
			var max=min=0;
			for(k in position)
			{
				var pos=position[k];
				if(
					(_left>pos.left-moveDiv.width/2&&_left<pos.left)&&
					(_top>pos.top-moveDiv.height/2&&_top<pos.top+moveDiv.height/2)
					)
				{
					end=k;
				}
			}

			for(k in set.catid)
			{
				
				if(set.catid[k].list==max)
				{
					maxDiv=k;
					set.catid[k].list=min;
				}
			}
			if(max==min&&1==0)
			{
				moveDiv.obj.style.left=moveDiv.left+'px';
				moveDiv.obj.style.top=moveDiv.top+'px';
				return;
			}
			else if(1==0)
			{
				var _catid={}
				for(k in set.catid)
				{
					
					if(k==maxDiv)
					{
						_catid[k]=set.catid[minDiv];
						_catid[k].list=set.catid[k].list;
					}
					else if(k==minDiv)
					{						
						_catid[k]=set.catid[maxDiv];
						_catid[k].list=set.catid[k].list;
					}
					else
					{
						_catid[k]=set.catid[k];
					}
				}
				alert(json_encode(set.catid));
				set.catid=_catid;
				alert(json_encode(set.catid));
			}
			makeDiv();return;
			moveDiv.divs[max].style.left=position[min].left+'px';
			moveDiv.divs[max].style.top=position[min].top+'px';
			moveDiv.obj.style.left=position[max].left+'px';
			moveDiv.obj.style.top=position[max].top+'px';
			moveDiv.obj.style.zIndex=1;
			moveDiv._obj.removeChild(moveDiv._obj);
		}
	},
	move:function()
	{
		if(moveDiv.lock==1)
		{
			var a=$('#sj').offset();
			var e='';
			if(window.event){e=window.event;}else{moveDiv.move.arguments[0];}
			var obj=moveDiv.move.arguments[1];//alert(e.pageX);
			var x=e.pageX?e.pageX:(e.clientX);
			var y=e.pageY?e.pageY:(e.clientY);
			moveDiv.obj.style.left=(parseInt(moveDiv.obj.style.left)+x-moveDiv.x)+'px';
			moveDiv.obj.style.top=(parseInt(moveDiv.obj.style.top)+y-moveDiv.y)+'px';
			moveDiv.x=x;
			moveDiv.y=y;
		}
	},
	update:function()
	{
		$.ajax({type:'GET',
		url:'ajax.php?action=update&set='+json_encode(set)+'&'+Math.floor(Math.random()*100),
		success:function($id)
		{
			if($id==1){show();}
			else{alert('error');}
		}});
		
	}
	
	
}
function showAd(name,ad)
{
	var position=$('#'+name).offset();
	var ads=document.getElementsByName('top_ad');
	var width=295;
	var height=180;
	for(var i=0;i<ads.length;i++)
	{
		ads[i].style.display='none';
	}
	var obj=ads[ad-1];//alert(ads+' '+ad+' '+ads[ad]+' '+ads.length);
	obj.style.cssText='border:1px solid #76c3e5;width:'+width+'px;padding:10px;height:'+height+'px;position:absolute;z-index:299;display:block;overflow:hidden;line-height:20px;background:#fff;';
	//obj.style.left=position.left-100+'px';
	var d=$('.other').offset();
	obj.style.left=d.left+45+'px';
	obj.style.top=(position.top+15)+'px';//document.write(HTML.browse);
	if(HTML.browse=='IE6.0'||HTML.browse=='IE7.0')
	{
		obj.setAttribute('onmouseout',function(){hiddenAd(ad);});
		obj.setAttribute('onmouseover',function(){showAd(name,ad);});
	}
	else
	{
		obj.setAttribute('onmouseout',"hiddenAd('"+ad+"')");
		obj.setAttribute('onmouseover',"showAd('"+name+"','"+ad+"')");
	}
}

function hiddenAd(ad)
{
	var ads=document.getElementsByName('top_ad');
	if(typeof(ad)!='undefined')
	{
		var obj=ads[ad-1];
		obj.style.display='none';
	}
	else
	{
		for(var i=0;i<ads.length;i++)
		{
			ads[i].style.display='none';
		}
	}

}

show();
setInterval(show,100000);